imageCodeId = '';

function getCookie(name) {
    var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
    return r ? r[1] : undefined;
}

// TODO 生成一个图片验证码的编号，并设置页面中图片验证码img标签的src属性
function generateImageCode() {
    // 1. 生成一个编号
    // 严格一点的使用uuid保证编号唯一， 不是很严谨的情况下，也可以使用时间戳
    imageCodeId = generateUUID();

    // 2. 拼接验证码地址
    var imageCodeUrl = "/passport/image_code?code_id=" + imageCodeId;
    console.log('imageCodeUrl---' + imageCodeUrl)
    // 3. 设置页面中图片验证码img标签的src属性
    $(".get_pic_code").attr("src", imageCodeUrl)
}


$(function () {

    $(".bg-video").click(function () {
        $(".rg_form").prop({
            "style": "display:block"
        })
        $(this).prop({
            "style": "display:none"
        })

    })
    generateImageCode()
    // TODO 注册按钮点击
    $(".submit").click(function () {

        // 取到用户输入的内容
        var user_name = $(".user_name").val()
        var password_1 = $(".password_1").val()
        var password_2 = $(".password_2").val()
        var phone = $(".phone").val()
        var yzm = $(".yzm").val()

        if (!user_name) {
            alert('请输入用户名')
            return;
        }
        if (!password_1) {
            alert('请输入密码')
            return;
        }
        if (!password_2) {
            alert('请再次输入密码')

            return;
        }
        if (phone.length < 6) {
            alert("密码长度不能少于6位")

            return;
        }


        // 发起注册请求
        var params = {
            "username": user_name,
            "password_1": password_1,
            "password_2": password_2,
            'phone': phone,
            'yzm': yzm,
            "image_code_id": imageCodeId
        };

        $.ajax({
            url: "/passport/yzzc",
            type: "post",
            data: JSON.stringify(params),
            headers: {
                "X-CSRFToken": getCookie("csrf_token")
            },
            contentType: "application/json",
            success: function (resp) {
                if (resp.errno == "0") {
                    // 刷新当前界面
                    console.log('注册成功')
                    location.href = "/passport/login"
                } else {
                    alert(resp.errmsg)

                }
            }
        })
    })

    // TODO 登录
    $(".submit_btn").click(function () {
        var username = $(".username").val();
        var password = $('.password').val();


        var params = {
            "username": username,
            "password": password,
        };
        $.ajax({
            url: '/passport/login',
            type: 'post',
            data: JSON.stringify(params),
            headers: {
                "X-CSRFToken": getCookie("csrf_token")
            },
            contentType: "application/json",//上传类型
            dataType: "json",//返回的类型
            success: function (data) {
                if (data.errno == "0") {
                    location.href = '/'
                } else {
                    $(".pwd_fail").html(data.errmsg)
                    $(".pwd_fail").prop({
                        "style": "display:block;color:red",

                    })
                }
            }, error: function (e) {
                alert('登录超时,请稍后再试!')
            }
        })

    })
    //退出按钮
    $('.logout').click(function () {
        $.ajax({
            url: "/passport/logout",
            type: "post",
            headers: {
                "X-CSRFToken": getCookie("csrf_token")
            },
            contentType: "application/json",
            success: function (resp) {
                // 刷新当前界面
                location.reload()
            }
        })
    })

})

function generateUUID() {
    var d = new Date().getTime();
    if (window.performance && typeof window.performance.now === "function") {
        d += performance.now(); //use high-precision timer if available
    }
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = (d + Math.random() * 16) % 16 | 0;
        d = Math.floor(d / 16);
        return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
    });
    return uuid;
}